The sorting of data words may provide an ordering of the data words. In one approach, the sorting of data words may order the data words according to the value of the data words. For example, the data words may be sorted in an order that begins with the data word with the smallest value followed by the data word with the second smallest value, and so on. In another approach, each data word may have an associated key and the sorting of the data words may order the data words according to the keys. For example, the data words may be sorted in an order that begins with the data word with the smallest associated key followed by the data word with the second smallest associated key, and so on.
Certain applications, such as high-bandwidth data communication, may require low-latency sorting of a block of data words having associated keys. An application may have a targeted latency for completing the sorting and a targeted throughput bandwidth. Key-based sorting may be accomplished using dedicated circuits; however, these circuits may require a substantial amount of logic. In addition, these circuits may require a number of pipeline stages to achieve the targeted bandwidth and the latency of the pipeline stages may be greater than the targeted latency.
There is a general need for circuits that implement key-based sorting with a low latency and a high bandwidth while reducing the amount of logic required for circuit implementation.
The present invention may address one or more of the above issues.